Design Patterns in Garbage Collection
نویسندگان
چکیده
This thesis presents an examination of design patterns within the context of garbage collection. Initially, I review garbage collection and design patterns. Four garbage collectors are then examined and the design patterns found described. Both domain speci c and generic patterns are described. The domain speci c patterns are TriColour and RootSet, the generic patterns are Adaptor, Facade, Iterator and Proxy. It is hoped that by, applying these patterns, systems designers have access to a less e cient, but simpler and more exible way of implementing and reusing garbage collectors in programming languages. The requirements analysis for a garbage collector for a real-time object-oriented microkernel is then performed, and a design prepared using the design patterns found in the other garbage collectors. The garbage collector is then implemented in Java using appropriate data structures. Due to timing di culties in the runtime environment, timing was ruled out as a method of performance analysis. Algorithmic analysis is performed to evaluate the worst-case performance of the collector, which is found to be satisfactory in all but one method of the RootSet implementation. An approach to remedying this is suggested. i
منابع مشابه
Distributed Garbage Collection in a Client-Server, Transactional, Persistent Object System
We present a design for distributed garbage collection in a new object-oriented database system called Thor. Garbage collection in Thor is different from that in conventional distributed systems because Thor has a client-server architecture, in which clients fetch copies of objects from multiple servers and run transactions. Our design accounts for the caching and prefetching of objects done by...
متن کاملCayuga: A General Purpose Event Monitoring System
We describe the design and implementation of the Cornell Cayuga System for scalable event processing. We present a query language based on Cayuga Algebra for naturally expressing complex event patterns. We also describe several novel system design and implementation issues, focusing on Cayuga’s query processor, its indexing approach, how Cayuga handles simultaneous events, and its specialized g...
متن کاملOil and Water? High Performance Garbage Collection in Java with JMTk
Increasingly popular languages such as Java and C# require efficient and flexible garbage collection. This paper presents the design, implementation, and evaluation of JMTk, a Java Memory Management Toolkit in Java. We show a software engineering success story with an efficient, composable, extensible, and portable framework for quickly building and evaluating collectors. JMTk attains its modul...
متن کاملObject-Oriented Design of Real-Time Telecom Systems
Many engineers are still reluctant to adopt advanced object-oriented technologies (such as high modularity, dynamic binding, automatic garbage collection, etc.) for embedded systems with real-time constraints, because of their supposed inefficiency. We set ourselves into the context of building telecommunication systems with a standard object-oriented analysis and design approach. We describe h...
متن کاملSome Key Issues in the Design of Distributed Garbage Collection and References
The design of garbage collectors combines both theoretical aspects (safety and liveness) and practical ones (such as efficiency, inobtrusiveness, ease of implementation, fault tolerance, etc.). Although distributed GC is an instance of a consistency problem, practical designs often use weaker, “conservative” safety conditions, and/or weaker, “incomplete” liveness conditions. We report on our ex...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997